package com.tenton.mapper;

import com.tenton.pojo.ShoppingCart;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Date: 2021/1/19
 * @Author: Tenton
 * @Description: 购物车
 */
public interface CartMapper {
    /**
     * 展示购物车中所有信息
     * @return
     */
    List<ShoppingCart> listCart();

    /**
     * 购物车中添加数据
     * @param shoppingCart
     * @return
     */
    int insertCart(ShoppingCart shoppingCart);

    /**
     * 根据购物车Id删除对应数据
     * @param id
     * @return
     */
    int deleteCart(@Param("id") int id);

    /**
     * 根据用户Id清空购物车
     * @param userId
     * @return
     */
    int emptyCart(@Param("userId") int userId);

    /**
     * 修改购物车中信息
     * @param shoppingCart
     * @return
     */
    boolean updateCart(ShoppingCart shoppingCart);

    /**
     * 根据用户Id查询对应购物车
     * @param userId
     * @return
     */
    List<ShoppingCart> getCart(@Param("userId") int userId);

    /**
     * 根据Id查询对应购物车
     * @param id
     * @return
     */
    ShoppingCart getCartById(@Param("id") int id);
    /**
     * 根据图书名称查询对应购物车
     * @param bookName
     * @return
     */
    ShoppingCart getCartByBookName(@Param("bookName") String bookName);

    /**
     * 根据用户Id和图书Id查询对应购物车
     * @param userId
     * @param bookId
     * @return
     */
    ShoppingCart getCartByUBId(@Param("userId") int userId,@Param("bookId") Integer bookId);

    /**
     * 通过登录Id和图书Id查询购买数量
     * @param userId
     * @param bookId
     * @return
     */
    Integer getBuyNum(@Param("userId") int userId,@Param("bookId") Integer bookId);
}
